package com.my.db.test.mybatis.enums.config.mybaits;

import com.baomidou.mybatisplus.extension.handlers.MybatisEnumTypeHandler;
import com.my.db.test.mybatis.enums.DemoLevelEmum;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.annotation.Configuration;

/**
 * 原有的Mybatis配置下追加处理器注册操作。
 * BaseEnumTypeHandler  DemoEnumHandler 两个配置在没用puls的时候使用
 * https://blog.csdn.net/qq_33306246/article/details/106933613
 * 当前mybatis-plus.typeEnumsPackage 未生效 只能用此方法配置
 * @author timo 2021/3/25
 */
//todo 当前mybatis-plus.typeEnumsPackage 未生效 只能用此方法配置 初步怀疑多数据源问题或者版本问题 3.4.0 可以 使用的时候进替换即可
@Configuration
public class MybatisConfig implements InitializingBean {
    private final SqlSessionFactory sqlSessionFactory;

    public MybatisConfig(SqlSessionFactory sqlSessionFactory) {
        this.sqlSessionFactory = sqlSessionFactory;
    }

    @Override
    public void afterPropertiesSet() throws Exception {
        sqlSessionFactory.getConfiguration().getTypeHandlerRegistry().register(DemoLevelEmum.class, MybatisEnumTypeHandler.class);
    }
}

